package com.donnees.dao;

import com.metier.logique.MSG;


/**
 * @name AbstractDAO
 * @description Objet DAO abstrait parent de tous les DAO, quel que soit la fabrique (MySQL ici uniquement, mais ça marcherait avec d'autres).
 * @method public - abstract - MSG - find - Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
 * @method public - abstract - MSG - findAll - Méthode récupérant tous les résultats sans filtrage.
 * @method public - abstract - MSG - delete - Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
 * @method public - abstract - MSG - update - Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
 * @method public - abstract - MSG - insert - Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
 * 
 * @author Ambroise
 * @since 07/03/2012
 */
public abstract class AbstractDAO<T> {

	/**
	 * @name find
	 * @description Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
	 * @param MSG oMSG
	 * @return MSG
	 */
	public abstract MSG find(MSG oMSG);
	
	/**
	 * @name findAll
	 * @description Méthode récupérant tous les résultats sans filtrage.
	 * @return MSG
	 */
	public abstract MSG findAll();
	
	/**
	 * @name delete
	 * @description Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
	 * @param MSG oMSG
	 * @return MSG
	 */
	public abstract MSG delete(MSG oMSG);
	
	/**
	 * @name update
	 * @description Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
	 * @param MSG oMSG
	 * @return MSG
	 */
	public abstract MSG update(MSG oMSG);
	
	/**
	 * @name insert
	 * @description Méthode générique traitant l'objet MSG reçu en paramètre et créant la requête SQL en fonction du MSG.
	 * @param MSG oMSG
	 * @return MSG
	 */
	public abstract MSG insert(MSG oMSG);


}
